A New Technique for Strictness Analysis
نویسنده
چکیده
Results from Unification Theory and type inference with coercions are combined to produce a new method for performing strictness analysis of functional programs. A formal deduction system is developed in which extended types are derivable for terms of the A-calculus. These extended types contain Boolean rings describing the reduction behaviour of terms. Algorithms implementing the method are described, as well as proofs of their correctness. The method is extended to deal with recursion, polymorphism, and constants.
منابع مشابه
Strictness Analysis via Resource Typing
We present a new typing system for strictness analysis of functional programs. The system extends standard typing (including recursive data types) with strictness annotations and subtyping. Strictness typing is shown to be sound with respect to a natural operational semantics. We demonstrate that strictness types can be computed effectively.
متن کاملProbabilistic λ-calculus and Quantitative Program Analysis
We show how the framework of probabilistic abstract interpretation can be applied to statically analyse a probabilistic version of the λ-calculus. The resulting analysis allows for a more speculative use of its outcomes based on the consideration of statistically defined quantities. After introducing a linear operator based semantics for our probabilistic λ-calculus ΛP , and reviewing the frame...
متن کاملEfficient Strictness Analysis of Haskell
Strictness analysis has been a living field of investigation since Mycroft’s original work in 1980, and is getting increasingly significant with the still wider use of lazy functional programming languages. This paper focuses on an actual implementation of a strictness analyser for Haskell. The analyser uses abstract interpretation with chaotic fixpoint iteration. The demand-driven nature of th...
متن کاملA Complete Proof of Nöcker’s Strictness Analysis
This paper proves correctness of Nöcker’s method of strictness analysis, implemented in the Clean compiler, which is an effective way for strictness analysis in lazy functional languages based on their operational semantics. We improve upon the work of Clark, Hankin and Hunt did on the correctness of the abstract reduction rules. Our method fully considers the cycle detection rules, which are t...
متن کاملSafety of Nöcker's strictness analysis
This paper proves correctness of Nöcker’s method of strictness analysis, implemented in the Clean compiler, which is an effective way for strictness analysis in lazy functional languages based on their operational semantics. We improve upon the work Clark, Hankin and Hunt did on the correctness of the abstract reduction rules in two aspects. Our correctness proof is based on a functional core l...
متن کامل